//
//  MKUITableViewSectionViewProtocol.h
//  MKUI
//
//  Created by sushangjin on 14/11/13.
//  Copyright © 2020 sushangjin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MKUITableViewSectionModel.h"

typedef enum{
	MKUITableViewSectionViewKindOfHead=0,	//頭部
	MKUITableViewSectionViewKindOfFoot=1	//尾部
} MKUITableViewSectionViewKind;

NS_ASSUME_NONNULL_BEGIN
@protocol MKUITableViewSectionViewProtocol <NSObject>
/**
 *  返回视图的高度
 *
 *  @param tableView    外層的tableview
 *  @param sectionModel 分组数据模型
 *  @param kind         视图的類型
 *
 *  @return 高度值
 */
+ (CGFloat)heightWithTableView:(UITableView *)tableView sectionModel:(__kindof MKUITableViewSectionModel *)sectionModel kind:(MKUITableViewSectionViewKind)kind;
/**
 *  设置分组模型與显示類型
 *
 *  @param sectionModel 分组模型
 *  @param kind         類型
 */
- (void)setSectionModel:(nullable __kindof MKUITableViewSectionModel *)sectionModel kind:(MKUITableViewSectionViewKind)kind;

@optional

/// section视图将要被显示的回调
/// @param tableView 列表
/// @param sectionModel 分组数据模型
/// @param kind 表头/表尾
- (void)tableView:(UITableView *)tableView willDisplaySectionModel:(__kindof MKUITableViewSectionModel *)sectionModel kind:(MKUITableViewSectionViewKind)kind;

/// section视图完成显示的回调
/// @param tableView 列表
/// @param sectionModel 分组数据模型
/// @param kind 表头/表尾
- (void)tableView:(UITableView *)tableView didEndDisplayingSectionModel:(__kindof MKUITableViewSectionModel *)sectionModel kind:(MKUITableViewSectionViewKind)kind;
@end
NS_ASSUME_NONNULL_END
